﻿using System;
using System.Collections.Generic;
using System.Web.Services;
using DevMaker.SIC.Dao.Business;
using DevMaker.SIC.Model;

namespace WebApplication1 {
    public partial class Services : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {

        }

        [WebMethod]
        public static List<Usuario> Foo() {
            var usuarioBussiness = new UsuarioBussiness();
            var cajeros = usuarioBussiness.ObtieneAdministradoresYSupervisoresActivos();
            return cajeros;
        }

        /// <summary>
        /// Permite ver si un cajero permite logearse. 
        /// </summary>
        /// <param name="tipo">1 = Con nombre de usuario y password, 2 = Con tarjeta</param>
        /// <param name="nombreUsuario">Codigo del empleado</param>
        /// <param name="password">Password del empleado</param>
        /// <param name="codigoTarjeta">Codigo de la tarjeta</param>
        /// <returns>Usuario que coincide con los valores de busqueda</returns>
        [WebMethod]
        public static Usuario LoginCajero(Int16 tipo, String nombreUsuario, String password, String codigoTarjeta) {
            var usuarioBussiness = new UsuarioBussiness();
            var cajeros = usuarioBussiness.ObtieneCajerosActivos();
            Usuario cajero = null;
            if (tipo == 1) {
                var c = usuarioBussiness.ObtienePorId(cajeros, Convert.ToInt32(nombreUsuario));
                if (c.Password.Equals(password))
                    cajero = c;
            }

            if (tipo == 2) {
                cajero = usuarioBussiness.ObtienePorCodigoTarjeta(cajeros, codigoTarjeta);
            }

            return cajero;
        }

        [WebMethod]
        public static Usuario LoginCajeroManual(String nombreUsuario, String password) {
            var usuarioBussiness = new UsuarioBussiness();
            var cajeros = usuarioBussiness.ObtieneCajerosActivos();
            Usuario cajero = null;  
            var c = usuarioBussiness.ObtienePorId(cajeros, Convert.ToInt32(nombreUsuario));
            if (c != null && c.Password.Equals(password))
                cajero = c;

            return cajero;
            }

        [WebMethod]
        public static Usuario LoginCajeroConTarjeta(String codigoTarjeta) {
            var usuarioBussiness = new UsuarioBussiness();
            var cajeros = usuarioBussiness.ObtieneCajerosActivos();
            Usuario cajero = null;
            cajero = usuarioBussiness.ObtienePorCodigoTarjeta(cajeros, codigoTarjeta);
            return cajero;
        }

    }
}
